1. Field of the Invention
The present invention relates to a method of updating firmware in computer server systems.
2. Description of the Related Art
A computer server system has BIOS (Basic Input Output System), which is a program group for controlling connected devices such as disks, keyboards and graphic devices, and a flash memory for storing firmware retaining configuration information of the system. When changing capability of the computer server system (hereinafter, referred to simply as server system), the firmware must be updated.
FIGS. 1 and 2 are diagrams showing a conventional server system configuration and a processing flow at the time of the firmware update, respectively.
A CPU 1 is connected to a PCI bus 3 through a north bridge 2 which is one unit constituting a chip set. Also, through a south bridge 4 which is the other unit constituting the chip set, the CPU 1 is connected to a flash memory 5. Further, a legacy I/O interface 6 is connected to the PCI bus 3.
The south bridge 4 is connected with a base-board management controller (BMC) 7. The base-board management controller (BMC) 7 is a server controlling chip which acts as a central function for managing the server system as a single unit and has a failure communication function and others in case OS (operating system) goes down due to a hardware failure or the like.
If the server system is partitioned to have a plurality of systems, a plurality of base-board management controllers (BMC) 7 are correspondingly provided.
Further, the system has an interface function for a terminal 9, such as 1***Base-T or RS232C, and has a management board (MMB) 8 which manages a plurality of base-board management controllers (BMC) 7.
In the server system with such a configuration, if the firmware stored in the flash memory 5 is updated, following processing is performed in accordance with the processing flow of FIG. 2.
In a conventional method, the server system is stopped (shut down) once (step S1). Although the south bridge 4 normally read the firmware in the flash memory 5 when the system is in an operating state, if updating firmware data are stored in a storage medium 10 such as a flexible disk, the system is booted by reading the updating firmware data from the terminal 9 such as a corresponding flexible disk drive (step S2).
The read updating firmware is written into the flash memory 5 via the CPU 1 and via the south bridge 4 (as indicated by a dashed arrow of FIG. 1) (step S3). Then, the system is rebooted (step S4) to be in normal operating state. Therefore, in the conventional method, the server system is continuously in a stopped state until rebooted.
In this way, when the firmware data is updated, the server system must be put in the stopped state once. Therefore, the larger the system scale becomes, the greater the influence is.
Technologies relating to such an update of the firmware data or control program include, for example, an invention described in Japanese Patent Application Laid-Open Publication No. 2003-330655. In this invention, during execution of a control program stored in a flash ROM, a control program to be updated is saved and stored in RAM separately prepared, and when rebooted, the updated control program is enabled.
Also, an invention described in Japanese Patent Application Laid-Open Publication No. 2001-27954 is an invention relating to writing a program downloaded from a host computer. When the download is suspended, a communication coprocessor forcibly resets a main processor, and the download to a flash memory is executed by the communication coprocessor without passing through the main processor.
In an update of firmware data in the server system described with reference to FIGS. 1 and 2 above, a system must be stopped once. Also, in the invention described in Japanese Patent Application Laid-Open Publication No. 2003-330655, although a control program in execution is continuously executed, a memory must be prepared for saving. Further, in the invention described in Japanese Patent Application Laid-Open Publication No. 2001-27954, a program update is performed by forcibly resetting a main processor, and as a result, a system must be suspended.
Further, neither of the inventions described in Japanese Patent Application Laid-Open Publication Nos. 2003-330655 and 2001-27954 relates to a server system, and neither of the patent documents suggests that the update of the firmware data is enabled in the server system over a short amount of time.